package com.input4hua.template;

/**
 * 抽象模板类
 * @author jiahua.hu
 * @date 2019/4/5 
 */
public abstract class AbstractBase {
	/**
	 * 基本抽象方法，需要子类具体实现
	 */
	protected abstract void foo1();

	/**
	 * 基本抽象方法，需要子类具体实现
	 */
	protected abstract void foo2();

	/**
	 * 模板方法，组装基本方法，final 不允许子类重写
	 */
	public final void templateMethod() {
		this.foo1();
		this.foo2();
	}
}
